package twopointer;

public class Solution_11 {

    /**
     * 移动策略（贪心）
     * 每次把“短板”向内侧移动一格，因为：
     * 只有短板决定水位，移动长板不会带来更大面积。
     * 移动短板才有可能遇到更高的板子，从而扩大面积。
     */
    public int maxArea(int[] height) {
        int left = 0, right = height.length - 1;
        int res = 0;
        while (left < right) {
            int area = (right - left) * Math.min(height[left], height[right]);
            res = Math.max(res, area);
            if (height[left] < height[right])
                left++;
            else right--;
        }
        return res;
    }
}
